package com.ruoyi.system.service;

import com.ruoyi.system.domain.Share;
import com.ruoyi.system.domain.vo.ShareVo;
import com.ruoyi.system.domain.bo.ShareBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 分享Service接口
 *
 * @author ruoyi
 * @date 2023-08-02
 */
public interface IShareService {

    /**
     * 查询分享
     */
    ShareVo queryById(Long id);
    Share queryByCode(Long code);

    /**
     * 查询分享列表
     */
    TableDataInfo<ShareVo> queryPageList(ShareBo bo, PageQuery pageQuery);

    /**
     * 查询分享列表
     */
    List<ShareVo> queryList(ShareBo bo);

    /**
     * 新增分享
     */
    Boolean insertByBo(ShareBo bo);

    /**
     * 修改分享
     */
    Boolean updateByBo(ShareBo bo);

    /**
     * 校验并批量删除分享信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    Long genCode(ShareBo bo);
}
